It is beneficial for software to be configurable and customizable. Often this is done by putting the configurable values in a separate text file outside the software code that can be modified using a text editor. These values can subsequently be read at runtime, and the application can use these values to configure itself. In a Web 2.0 environment in such applications as retail systems, for example, configuration and customization can extend beyond just key value pair files. It is desired to have the ability to replace files at runtime to obtain desired results. By including different files into an application at runtime, the behavior and how the application looks can be significantly changed. It is desired to accomplish this without adding additional network traffic or processing on a client. In addition, it is desired for the server to support different clients using different configurations at the same time.